package com.blog.cmrpersonalblog.service;

import com.blog.cmrpersonalblog.dto.homepage.HomePageQueryRequest;
import com.blog.cmrpersonalblog.dto.homepage.HomePageResponse;

import java.util.List;

/**
 * 用户端首页服务接口
 */
public interface HomePageService {

    /**
     * 获取首页完整数据
     * @param queryRequest 查询请求
     * @return 首页数据
     */
    HomePageResponse getHomePageData(HomePageQueryRequest queryRequest);

    /**
     * 获取分类列表（左侧导航）
     * @return 分类列表
     */
    List<HomePageResponse.CategoryInfo> getCategories();

    /**
     * 获取文章列表（中间内容）
     * @param queryRequest 查询请求
     * @return 文章列表数据
     */
    HomePageResponse.ArticleListData getArticles(HomePageQueryRequest queryRequest);
    
    /**
     * 获取文章列表（中间内容）- 包含用户交互状态
     * @param queryRequest 查询请求
     * @param currentUserId 当前用户ID（可为null）
     * @return 文章列表数据
     */
    HomePageResponse.ArticleListData getArticles(HomePageQueryRequest queryRequest, Long currentUserId);
}
